package com.raos.quartz;

import org.quartz.*;
import org.quartz.impl.StdSchedulerFactory;

/**
 * HelloScheduler
 * 具体的业务触发，执行我们的任务（测试类）
 * 案例1-简单任务
 *   按照间隔时间执行任务
 *
 * @author raos
 * @email 991207823@qq.com
 * @date 2021/10/01 20:03
 */
public class HelloScheduler {

    public static void main(String[] args) throws SchedulerException {
        // 1.创建一个jobDetail的实例，将该实例与HelloJob Class绑定
        JobDetail jobDetail = JobBuilder.newJob(HelloJob.class)
                .withIdentity("myJob")
                .build();
        // 2.创建一个Trigger触发器的实例，定义该job立即执行，并且每5秒执行一次，一直执行
        SimpleTrigger trigger = TriggerBuilder.newTrigger()
                .withIdentity("myTrigger")
                .startNow()
                .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                        .withIntervalInSeconds(5)
                        .repeatForever())
                .build();
        // 3.创建schedule实例
        StdSchedulerFactory factory = new StdSchedulerFactory();
        Scheduler scheduler = factory.getScheduler();
        scheduler.start();
        scheduler.scheduleJob(jobDetail, trigger);

    }

    /**
     * 通过日志打印语句输出的线程执行情况，可以发现默认的线程数为10.
     */
}
